﻿using ETask.Api.Data;
using ETask.Api.Dtos;
using ETask.Api.Models;

namespace ETask.Api.Services
{
    /// <summary>
    /// 用户服务接口
    /// </summary>
    public interface IUserService:IGenericService<User, UserDto, CreateUserDto, UpdateUserDto>
    {

        Task<ApiResponse> Login(LoginRequest loginRequest);

        Task<ApiResponse> UserInfo();

        Task<ApiResponse> ResetPassword(ResetPasswordDto passwordDto);

        Task<ApiResponse> ResetUserPassword(ResetPasswordDto passwordDto);

        Task<ApiResponse> UpdateUserInfo(UpdateUserDto updateUserDto);

        Task<ApiResponse> GetList(UserListParams listParams);

        Task<ApiResponse> Register(CreateUserDto createUser);
    }
}
